package com.want.buss.interfaces.mapper;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.want.buss.interfaces.po.BankAccountInfo;
import com.want.buss.interfaces.po.DepositMethod;
import com.want.buss.interfaces.po.MoneyCertificates;
import com.want.buss.interfaces.po.MoneyTypeDetail;

/**
 * 客户入金新增及抛转BPM数据层接口
 * @author 00114260
 * @date   2018年01月15日
 */
public interface CustomerDepositMapper {
	
    /**
     * 客户入金查询
     * @param   DepositSid
     * @return  DepositMethod
     */
	DepositMethod findById(BigDecimal depositSid);
	
	void create(DepositMethod depositMethod);
	
	void update(DepositMethod depositMethod);
	
	void deleteBankAccountInfoByDepositSid(BigDecimal depositMethodSid);
	
	void deleteMoneyTypeDetailByDepositSid(BigDecimal depositMethodSid);
	
	void deleteMoneyCertificatesByDepositSid(BigDecimal depositMethodSid);
	
	//查询银行账号信息
	List<BankAccountInfo> getBankAccountInfoByBankSeriesNumber(@Param("bankSeriesNumber")String bankSeriesNumber, @Param("depositMethodSid")BigDecimal depositMethodSid);
	
	//新增银行账号信息
	void insertBankAccountInfo(BankAccountInfo bankAccountInfo);
	
	//查询通知人员
	List<Map<String, Object>> queryCustomerNoticeEmp(String customerId);
	
	//新增入金明细
	void insertMoneyTypeDetail(List<MoneyTypeDetail> moneyTypeDetailList);
	
	//新增入金凭证
	void insertMoneyCertificates(List<MoneyCertificates> moneyCertificates);
	
	//查询入金明细
	List<Map<String, Object>> getMoneyTypeDetailByDepositSid(BigDecimal depositMethodSid);
	
	//查询入金凭证
	List<Map<String, Object>> getMoneyCertificatesByDepositSid(BigDecimal depositMethodSid);
	
}
